Session Typed Parameterised Communication Patterns
نویسنده
چکیده
Abstract. Communication patterns describe simple and elegant structured interactions in communication based applications. They are used in many parallel computing architectures of parallel algorithms, data exchange protocols and web-services. Communication patterns help programmers to design more efficient, structured, modular and understandable architectures, but they do not provide any automatic code validation. We study this problem using global session types, a type theory that describes structured interactions from a global point of view. We then augment the syntax of global types with parameters that abstract the number of participants and an iterative construct that builds instances of parameterised communication patterns. Our formal system allows programmers to represent parameterised communication patterns by global types and then validate the code by type-checking.
منابع مشابه
Parameterised Multiparty Session Types
For many application-level distributed protocols and parallel algorithms, the set of participants, the number of messages or the interaction structure are only known at run-time. This paper proposes a dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices. We ...
متن کاملDepending on Session-Typed Processes
This work proposes a dependent type theory that combines functions and session-typed processes (with value dependencies) through a contextual monad, internalising typed processes in a dependently-typed lambda-calculus. The proposed framework, by allowing session processes to depend on functions and vice-versa, enables us to specify and statically verify protocols where the choice of the next co...
متن کاملA Session Object Calculus for Structured Communication-Based Programming
We present an object calculus for structured concurrent programming, facilitating the implementation of typed binary protocols, known as sessions. Session types are based on a concept of duality of interactions, providing a powerful type-theoretic foundation for guaranteeing well-behaved parallel composition of communicating code. Our formalism extends the Abadi and Cardelli imperative object c...
متن کاملSession Types with Gradual Typing
Session types enable fine-grained static control over communication protocols. Gradual typing is a means to safely integrate statically and dynamically typed program fragments. We propose a calculus for synchronous functional two-party session types, augment this calculus with a dynamically typed fragment as well as coercion operations between statically and dynamically typed parts, and establi...
متن کاملPractical Parameterised Session Types
Parameterised session types is a type theory studied in the context of multiparty session types, that addresses statically the problem of type-safe, deadlock-free interactions in programs of an arbitrary number of processes. The previous work supporting parameterised session types has several shortfalls that limit their utility in practice. We eliminate the shortfalls by introducing a programmi...
متن کامل